package com.atguigu.jxc.dao;

import com.atguigu.jxc.entity.Goods;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;

/**
 * @description 商品信息
 */
public interface GoodsDao {


    String getMaxCode();

    /**
     * 查询所有商品信息
     *
     * @return
     */
    List<Goods> getAllgoods();

    /**
     * 查询所有商品信息（可根据家具家电分类、名称查询）
     *
     * @param goodsName
     * @param goodsTypeId
     * @return
     */
    List<Goods> getGoodsByType(String goodsName, Integer goodsTypeId);

    /**
     * 添加商品
     *
     * @param goods
     */
    void addGoods(Goods goods);

    /**
     * 修改商品
     *
     * @param goods
     */
    void updateGoods(Goods goods);

    /**
     * 根据id查询商品
     *
     * @param goodsId
     * @return
     */
    Goods getGoodsById(Integer goodsId);

    /**
     * 删除商品
     *
     * @param goodsId
     */
    void deleteGoods(Integer goodsId);

    /**
     * 无库存商品列表展示（可以根据商品名称或编码查询）
     * @return
     */
    List<Goods> getNoInventoryQuantity();

    /**
     * 无库存商品列表展示（可以根据商品名称或编码查询）
     * @return
     */
    List<Goods> getHasInventoryQuantity();

    /**
     * 查询所有 当前库存量 小于 库存下限的商品信息
     * @return
     */
    List<Goods> listAlarm();
}
